﻿using System;

namespace Lesson10_练习题
{
    class Program
    {
        #region 练习一
        //重载一个函数
        //让其可以比较两个int或float或double的大小
        //并返回较大的那个值
        static int GetMax(int a, int b)
        {
            return a > b ? a : b;
        }
        static float GetMax(float a, float b)
        {
            return a > b ? a : b;
        }
        static double GetMax(double a, double b)
        {
            return a > b ? a : b;
        }
        #endregion

        #region 练习二
        //重载一个函数
        //让其可以比较 n 个int或float或double的大小
        //并返回较大的那个值
        static int GetMax(params int[] arr)
        {
            int max = arr[0];
            for (int i = 1; i < arr.Length; i++)
            {
                if (arr[i] > max)
                {
                    max = arr[i];
                }
            }
            return max;
        }
        static float GetMax(params float[] arr)
        {
            float max = arr[0];
            for (int i = 1; i < arr.Length; i++)
            {
                if (arr[i] > max)
                {
                    max = arr[i];
                }
            }
            return max;
        }
        static double GetMax(params double[] arr)
        {
            double max = arr[0];
            for (int i = 1; i < arr.Length; i++)
            {
                if (arr[i] > max)
                {
                    max = arr[i];
                }
            }
            return max;
        }
        #endregion
        
        static void Main(string[] args)
        {
            #region 练习一
            Console.WriteLine(GetMax(1, 2));           //int
            Console.WriteLine(GetMax(1.1f, 2.2f));     //float
            Console.WriteLine(GetMax(1.11, 2.22));     //double
            #endregion

            #region 练习二
            Console.WriteLine(GetMax(1, 2, 3, 4, 5));                  //int
            Console.WriteLine(GetMax(1.1f, 2.2f, 3.3f, 4.4f, 5.5f));   //float
            Console.WriteLine(GetMax(1.1, 2.2, 3.3, 4.4, 5.5));        //double
            #endregion
        }
    }
}

